User interface elements can be displayed by a graphical user interface of a computing device and interacted with by users of the device. It is common, in modern software applications for the application to have, associated with it, at least one such user interface element or “UI.” Users can interact with a program's UI affecting a change in the UI displayed to the user. One example of a UI are table UIs adapted to allow users to interact with table data through common table UI operations such as sorting, filtering, grouping, expanding, and performing analytical calculations on data displayed in the table UI.
Modern software application developers have a myriad of UI technologies to choose from when designing and building an application and its corresponding UI, and the available selection of UI technologies continues to expand. UI technologies include Adobe Flash, JavaScript+html, XUL, SwixML, Thinlet, Buoy, Swing, IBM's AWT, and others. As new UI technologies are developed, they sometimes replace older UI technologies, prompting application developers to redesign software systems to incorporate the latest UI technology.
Advances in software development, distributed software environments and Service Oriented Architectures (SOA) have led to many advancements in service-based software architectures. SOA is an architectural style for building software applications that use services exposed to applications over a network. The internet has allowed implementations of web-based SOA environments, or web services that deliver services over the web using technologies such as XML, WSDL, SOAP, and UDDI. SOA generally promotes reusability of software resource and loose coupling between software components. Applications in SOA are built based on services. A service is an implementation of a well-defined business functionality, and such services can then be consumed by clients in different applications or business processes. One example is SAP's Business Intelligence Consumer Services™ product which can expose services for use in connection with other applications such as SAP's Business Explorer™.